工控網首頁
>

應用設計

>

基于FPGA的多路光電編碼器數據采集系統

基于FPGA的多路光電編碼器數據采集系統

2006/6/26 9:12:00
1.哈爾濱工業大學自動化測試與控制系 2.哈爾濱師范大學物理系 [摘 要]:介紹了一種基于現場可編程門陣列(FPGA)的多路光電編碼器數據采集系統,包括其功能、原理、軟件編程和硬件實現電路。描述了該電路的4個主要功能:四倍頻細分、辨向、計數及串行通訊。根據波形的跳沿實現四倍頻細分;通過對波形相位的分析,采用基于相位變化的設計原理實現辨向。整個系統在QuartusⅡ軟件環境下實現編程,應用Altera公司的EPFl0K20TCl44-3型芯片作為硬件載體,角度分辨力可達廣1。最后,給出了詳細的編程和仿真波形。 0 引 言 現今,光電編碼器被越來越多地用于角度的測量,由于它在測量角度方面的優越性,已成為一種重要的角度傳感器,本設計中的角度傳感器是采用光電編碼器來實現的。以往對單路角度傳感器(光電編碼器)數據信號進行四倍頻以及辨向處理時,多采用門級電路搭建的電路板,單片機和FPGA編程來實現。其中,使用電路板或單片機的方法通用性差、編譯復雜、電路板龐大、而且,響應其他事件的實時性變差,不適合用于運算速度快,且多路輸入的數據采集計算任務。隨著電子設計技術的飛速發展,用戶現場可編程門陣列(FPGA)的復雜程度越來越高,其所具備的功能也越來越多,芯片也向小型化發展,逐步成為復雜數字硬件電路設計的理想首選。FPGA/CPLD既繼承了ASIC的大規模、高集成度、高可靠性的優點、又克服了普通ASIC設計周期長、投資大、靈活性差的缺點。FPGA的集成度很高,可完成極其復雜的時序和組合邏輯電路功能,適用于高速、高密度的高端數字邏輯電路設計領域。 1 方案設計 本系統是基于FPGA的數據采集電路,其多路輸入信號來自6個高精度角度傳感器——光電編碼器。每個角度傳感器均分別輸出兩路周期相同、相位差為90°的方波信號以及一個零位信號,設其中一個角度傳感器輸出的方波信號為A和B,零位信號為Z。當需要對計數器進行正計數時,A信號的上升沿及下降沿均超前B信號1/4周期;反之,當需要對計數器進行逆計數時,A信號的上升沿及下降沿均滯后B信號1/4周期。根據A信號相對于B信號的超前與滯后,計數器即可相應地做出加計數或減計數的判斷。 圖1給出了角度傳感器有信號輸入時A,B信號的變化情況。圖中,前半部分為正計數,后半部分為反計數。根據接收到的輸入信號相位差和A,B信號變化的周期數來使用計數器進行計數,就可以測算出角度傳感器傳來的數據的具體信息。
本文中,數據采集系統要完成的主要任務為:利用PP-GA芯片完成六路角度傳感器信號處理、四倍頻及判向功能,設計24位計數器,實現數據的鎖存、清零以及數據傳輸,系統功能框圖如圖2所示
圖2圖2 系統功能框圖
圖中,A1~A6,Bl~B6為六路角度傳感器輸出的相位差為90°的方波信號、Z1~Z6為零位信號、數據為串行輸出、OE為使能信號,控制鎖存器存儲數據和輸出數據。 本設計中,角度傳感器提供輸入信號,其精度要求高,若對角度的測量要求分辯力到1″甚至0.1″,則信號頻率相對較高。根據設計要求,估算整個電路所需要的管腳和宏單元的個數,以及以后系統的可升級空間,本設計選用芯片EPFIOK20TCl44-3。它是Altera公司FLEX1OK系列產品之一,是一種嵌入式可編程邏輯器件,采用CMOSSRAM制造工藝,使用SRAM來存儲編程數據,具有在系統中可編程特性。EPFl0K20TCl44—3具有高密度、高速度、低功耗等特點。芯片內含有專用進位鏈,級聯鏈以及快速通道,故其互連方式十分靈活。 2具體電路設計 本系統的主要功能通過Altera公司Quartus II軟件系統提供的集成化文本編輯程序實現,即硬件描述語言輸入方式。該方式適合于輸入和編輯諸如VHDL,Verilog HDL,Altera公司的AHDL等硬件描述語言的設計輸入文件。硬件描述語言輸入方式的特點是效率較高、結果也較容易仿真、信號觀察也比較方便,而且,在不同的設計輸入庫之間轉換非常方便,下面介紹系統主要電路的設計。 2.1 實現四倍頻、辨向和計數 以一路角度傳感器所發出的方波信號為例,如圖1所示,通過對A和B信號的上升沿和下降沿進行計數實現四頻;并通過在每個跳變沿判斷A與B的電平高低來實現辨向,真值表如表1,表2所示。
表1表1 A信號跳變真值表
表2表2 B信號跳變真值表
由表1、表2可知,當信號A和B發生跳變時,對A和B進行異或邏輯運算,即可判斷對計數器進行加操作還是減操作。流程圖如圖3所示。
圖3圖3 辨向與計數流程圖
2.2 數據鎖存 方波信號經過四倍頻并計數后所得到的6組數據,當需要向上位機傳輸時,因為內部各計數單元工作屬于動態過程,因此,在向外部傳輸數據時,需先將6組數據分別存人6個鎖存器中再讀取數據,以保證讀出穩定的數據。在本設計中,鎖存器是由VHDL語言描述的同步鎖存器。所謂同步鎖存器指的是復位和加載功能全部與時鐘同步,復位端的優先級較高。在數字系統設計時,采用完全同步的鎖存器,可以避免時序錯誤。 2.3 數據傳輸 串行輸出口采用標準的RS—232協議,6個鎖存器輸出的數據將先存人FIFO(先進先出寄存器),然后,通過串口將數據發送到PC。 數據串行輸出如圖4所示。
串行輸出的主要參數的選擇:波特率為9600bit/s,8位有效位、無奇偶校驗位、1位停止位。串行通信中,必須有時鐘脈沖信號對所傳送的數據進行定位和同步控制,設計中,采用的時鐘頻率時波特率的2倍(19200bit/s)。發送過程:串口模塊初始狀態是等待狀態,接收到觸發信號fifo-rd則進入發送過程,先發送起始位,再發送8位比特數,每位寬度為2個周期,當一個字節發送完畢后,發送一個停止位,回到等待狀態。 3 調試與仿真 如圖5所示,countl~count6為六路角度傳感器輸入信號經過四倍頻、辨向、計數后的仿真波形。Zl~Z6為角度傳感器輸入的零位信號,OE為輸出使能信號。其中,第二路仿真角度傳感器反向旋轉的過程,所以,A2信號滯后B2信號1/4周期,count2計數器為負值。本系統仿真中使用的方波頻率為19.1MHz,而所使用的角度傳感器每旋轉一周輸出的方波個數為1 296000個,按照每秒旋轉一周計算,方波信號頻率為1.2MHz,仿真信號足要求。
圖5圖5 輸出仿真波形圖
4 結 論 本設計經過仿真、編譯實現后,將代碼下載至EPC1441可編程配置芯片,屬于主動配置模式。在接口模塊上電后,EPC1441自動對EPFl0K20TCl44-3芯片進行配置。該芯片成功地完成了對六自由度坐標測量系統輸出信號的處理,性能穩定可靠。如果在此設計的基礎上載譯碼驅動等外圍電路,即可直接與PC機連接,或者加上顯示電路單獨使用。
投訴建議

提交

查看更多評論
其他資訊

查看更多

智光節能內蒙古阿拉善左旗瀛海建材余熱發電機組首次啟動成功

智光電氣臺州電廠給水泵系統節能改造項目成功投運

智光節能榮登2014年度全國節能服務公司百強榜第五位

索引程序編程凸輪表

奧越信300系列PLC手冊